iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 12
0

RESTful

Representational State Transfer(REST),中文譯為「具象狀態轉換」,是植基於HTTP之上的一種提供全球資訊網路的軟體建構風格。

那REST與RESTful有什麼關係?不過就是後面多了英文形容詞的ful,有差嗎?

妳真美麗。You are so beautiful.
這真表現層狀態轉換。 It is so RESTful.
(這個例子只是為了引出ful的形容詞概念,不是很正確)

REST是一種表現概念,因此遵守這種表現概念的設計我們稱之為RESTful。

API

Wiki的定義
與網際網路相連的端系統提供了一個應用程式介面(英語:Application Programming Interface,縮寫:API;又稱為應用程式編程介面)是軟體系統不同組成部分銜接的約定。

談到API,這是一項後端工程師必備的基本技能,無論是熱門的串接第三方API,還是Web API 的開發,必須懂得如何打造API,才能透過API與App或其他伺服器溝通,是前後端的技能的分水嶺。

簡單來說,今天我到轉運站要搭車到高雄(發出request),櫃台人員告知我要到10號候車處。此時轉運站本體就是Router(路由器),轉運站裡的各家客運公司提供的路線就像API,它控制所有路由並順利完你的搭乘請求(response),將你從台北帶到高雄。

RESTful API

使用RESTful風格的API就是RESTful API,有說等於沒說,那我們用簡單的增刪改查來實現例子。

一般 API (命名主觀,沒有充分利用HTTP METHOD)

得到文章
/api/get_post/

新增文章
/api/upload_post/

更新文章
/api/update_post/

刪除文章
/api/delete_post/

RESTful API(優雅簡潔的方式,清楚簡短,可讀性高)

得到所有文章
/api/posts/ (GET)

新增文章
/api/posts/ (POST)

更新文章
/api/posts/ (PUT)

刪除文章
/api/posts/ (DELETE)

統整一下RESTful API:

URI description HTTP Method
api/posts 得到所有文章 GET
api/posts 新增文章 POST
api/posts 更新文章 PUT
api/posts 刪除文章 DELETE

RESTful API 使用了 HTTP Method 來當作「動詞」,還記得有哪些嗎?請見上一篇,透過這些動詞,我們就可以做不同的動作。

今天先到這裡,明天要說的是Web API測試工具-Postman。
週六見~

參考資料:

API 實作(一):規劃 RESTful API 要注意什麼
[不是工程師] 休息(REST)式架構? 寧靜式(RESTful)的Web API是現在的潮流?
Laravel 建立 RESTful API
淺談 REST 軟體架構風格 (Part.I) - 從了解 REST 到設計 RESTful!
Please, don’t call them RESTful
認識 RESTful API
What is REST? Slightly confused [closed]


上一篇
Day11-Laravel新手基礎訓 Http協議
下一篇
Day13-Laravel新手基礎訓-PostMan介紹(1)實測政府開放資料 OpenAPI
系列文
後端PHP+Laravel--新手實戰日記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言